﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Diamante_Da_Lonjura
{
    class Movimento
    {

        // posicao personagem 1;
        public Vector2 posicao;

        //posicao personagem 2;
        public Vector2 posicaoDois;

        // velocidade;
        private float Velocidade = 50f;
        
        // definir limite tela;
        private Vector2 LimiteTelaY = new Vector2(50, 600);

        private Vector2 LimiteTelaX = new Vector2(50, 550);

        public void Interacao(KeyboardState teclado, GameTime gametime)
        {

            float MovePerSecond = (float)gametime.ElapsedGameTime.TotalMilliseconds / 500;

            #region Limite Tela eixo X

            // limita o eixo x do personagem;
            if (posicao.X <= LimiteTelaX.X)
            {
                posicao.X = LimiteTelaX.X;
            }
            if (posicao.X >= LimiteTelaX.Y - 94)
            {
                posicao.X = LimiteTelaX.Y - 94;
            }

            // limita o eixo x do personagem2;
            if (posicaoDois.X <= LimiteTelaX.X)
            {
                posicaoDois.X = LimiteTelaX.X;
            }
            if (posicaoDois.X >= LimiteTelaX.Y - 94)
            {
                posicaoDois.X = LimiteTelaX.Y - 94;
            }

            #endregion

            #region Limite Tela eixo Y

            // limita o eixo x do personagem;
            if (posicao.Y <= LimiteTelaY.X)
            {
                posicao.Y = LimiteTelaY.X;
            }
            if (posicao.Y >= LimiteTelaY.Y - 94)
            {
                posicao.Y = LimiteTelaY.Y - 94;
            }

            // limita o eixo x do personagem2;
            if (posicaoDois.Y <= LimiteTelaY.X)
            {
                posicaoDois.Y = LimiteTelaY.X;
            }
            if (posicaoDois.Y >= LimiteTelaY.Y - 94)
            {
                posicaoDois.Y = LimiteTelaY.Y - 94;
            }

            #endregion

            #region Mover Personagens

            // mover personagem 1
                if (teclado.IsKeyDown(Keys.A))
                { posicao.X -= Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.S))
                { posicao.Y += Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.D))
                { posicao.X += Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.W))
                { posicao.Y -= Velocidade * MovePerSecond; }
            

                // mover personagem 2;
                if (teclado.IsKeyDown(Keys.Left))
                { posicaoDois.X -= Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.Down))
                { posicaoDois.Y += Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.Right))
                { posicaoDois.X += Velocidade * MovePerSecond; }
                if (teclado.IsKeyDown(Keys.Up))
                { posicaoDois.Y -= Velocidade * MovePerSecond; }

            #endregion


        }

    }
}
